package com.xdf.docmanagementsystem.dao;

import com.xdf.docmanagementsystem.common.util.Example;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

import com.xdf.docmanagementsystem.entity.Document;
import org.apache.ibatis.annotations.Param;

import java.util.Map;

/**
 * @Description : 文档档案
 * @Author : ZK
 * @Date : 2020-06-21 12:45:28
 */
@Repository
public interface DocumentMapper {
    int insert(Document record);

    int insertSelective(Document record);

    int multiInsert(List<Document> list);

    int insertDumplicateKeyUpdate(Document record);

    int updateByPrimaryKey(Document record);

    int updateByPrimaryKeySelective(Document record);

    int multiUpdate(List<Document> list);

    int deleteByPrimaryKey(Integer id);

    Document selectByPrimaryKey(Integer id);

    List<Document> selectAll();

    List<Document> selectByParam(Document record);

    int updateByExampleSelective(@Param("record") Document record, @Param("example") Example example);

    int deleteByExample(@Param("example") Example example);

    List<Document> selectByExample(@Param("example") Example example);

    int insertByExampleSelective(@Param("record") Document record, @Param("example") Example example);

    List<Map<String, Object>> report(@Param("departmentId") Integer[] departmentId, @Param("status") Integer status);

    long selectCountByExample(@Param("example") Example example);
}